草庐IT

Java Spring MVC 模板引擎

全部标签

带有概念的 C++ 别名模板(typedef)?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4553.pdfgcc6:-f概念templateconceptboolString=requires(Ts){{s.clear()}->void;//etc.};voidprint(constString&message);//voidprint(Strmessage);//IwantStr=constString&voidtest(){std::stringstr;print(str);}有没有办法将Str声明为constString&? 最

c# - Visual Studio C++/CLI 模板神秘错误

好吧,我一直在尝试在VisualStudio2015中创建一个C++DLL,这花了一段时间,因为我对VisualStudio不是很好。我需要访问.NET库,特别是System::Management。(由于C++实现不佳,编写代码比需要的要难一些,但至少它有一个。)我修复了明显的错误,最后发现我必须在项目属性中启用CLR,然后使用References->AddReference选择相关的库。但毕竟,现在它只是给出了这个奇怪的错误:LNK1104:cannotopenfile'MSCOREE.lib'编译器没有在任何下方显示红色波浪线,并且错误声称该行是“1”并且文件是“LINK”,所以

c++ - C++14 中的模板到模板映射

我想在C++14中做一个模板到模板的映射。先验地,似乎以下代码可以解决问题templatestructKeyType{};templatestructValueType{Tx;};templateclassK>structMap;templatestructMap{templateusingtype=ValueType;};ValueTypetest{42};Map::typetestM{42};//Sameasabove但是,以下表达式在使用clang++v3.8编译时返回false。templateclassTemplateType>structNeedsTemplate;std:

C++:通过模板传递参数与通过函数参数传递参数

通过模板发送参数有什么用吗?如果是这样,这与通过内部堆栈发送参数有何不同?示例:voidmyMethod(intargument){//Dosomethingwith*argument*};对比templatevoidmyMethod(){//Dosomethingwith*argument*};ThinkinginC++,第1卷,第2版,在Templatesindepth一章下,关于非类型模板参数只有几句话,我觉得我没有完全理解他们的目的。编辑:感谢您的解释。如果可以的话,我会标记这两个答案,因为它们相互补充。 最佳答案 不同之处

c++ - 如何使用 gmock 从类中模拟模板方法?

如何使用gmock模拟一个类的模板方法(不是模板类)?像这样的类示例,我想模拟这个类和这个模板方法..classA{public:templateintgetType(intval);};我知道如何用非虚拟方法模拟一个类,或者模拟一个模板类,但我不知道如何用一个模板方法模拟一个非模板类.. 最佳答案 第一个更好的解决方案是使用此函数A::getType的实现-也许它不必被模拟?例如:如果它只是返回一些在构造函数中设置的值-那么只需按照测试用例所需的方式构造A:classA{public:A(inta):a(a){}templatei

c++ - 类模板的模板参数推导陷阱

我在这里阅读了有关类模板的模板参数推导的论文http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0091r3.html.此功能在C++17标准中,有些事情让我感到困惑。templateclassSomething{public://deletethecopyandmoveconstructorsforsimplicitySomething(constSomething&)=delete;Something(Something&&)=delete;explicitSomething(T&&){...}explicitSomet

c++ - 函数模板重载解决方案和编译器优化

我正在看这里发现的这个问题TemplatefunctionoverloadfortypecontainingatypeOPuser2079802为他/她的问题提供此代码:I'mtryingtodothefollowing:#include#include#includetemplatevoidf(Tt){std::coutvoidf(T>t){std::cout{});//shouldusefirsttemplatef(std::vector>{});//shouldusesecondtemplate}WhatisthesimplestwaytodothisinC++14?Ithoug

c++ - 未定义模板的隐式实例化 'std::__1::function<int (double, double, double, double)>'

在我正在进行的项目中,我尝试使用curlpp库来发出一个简单的htmlGET请求。当我将cpp文件传递​​给g++时,出现以下错误:/usr/local/include/curlpp/internal/CurlHandle.hpp:185:42:error:implicitinstantiationofundefinedtemplate'std::__1::function'curlpp::types::ProgressFunctionFunctormProgressFunctor;/usr/local/include/curlpp/internal/CurlHandle.hpp:13

c++ - 使用 constexpr 或模板元编程简化较长的展开循环表达式

看起来我有一个更长的表达式(展开的循环),例如下面的代码在一个软件中多次膨胀了数千行。由于poly为性能采用模板参数(第二个参数对应于循环z值),我想知道是否可以通过模板元编程简化下面的代码并通过递归构建类似于循环的东西。表达式的语法似乎是每个x=bx(a+b+c*by*bz)+..我想,如果poly不是模板函数,而是采用函数参数,那会更容易一些。voidcalc(floatmat[3][3][3],floatfS,floatfT,floatfU){constfloatbs20_u=poly(fU);constfloatbs21_u=poly(fU);constfloatbs22_u=

c++ - 模板类遇到 __declspec(import) 时出现 Visual Studio 链接器错误

这始于我在将我的小型异常处理库集成到由单个VisualStudio解决方案中的约200个VisualC++项目组成的代码库时遇到的一个看似很小的问题。我有一个链接器问题,由这样的消息表示3>B_Utils.lib(B_Utils.dll):errorLNK2005:"public:__cdeclExceptionBase::ExceptionBase(classstd::basic_string,classstd::allocator>const&)"(??0?$ExceptionBase@Vruntime_error@std@@@@QEAA@AEBV?$basic_string@DU